package com.efast.dmom.mgmt.service.master;

import java.util.List;

import com.efast.dmom.mgmt.bean.mes.WorkOrderInfoDto;
import com.efast.dmom.mgmt.entity.master.TmBasStation;
import com.efast.dmom.mgmt.utils.Assist;


public interface TmBasStationService {
	/**
	 * 获得TmBasStation数据的总行数,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * 
	 * @param assist
	 * @return
	 */
	long getTmBasStationRowCount(Assist assist);

	/**
	 * 获得TmBasStation数据集合,可以通过辅助工具Assist进行条件查询,如果没有条件则传入null
	 * 
	 * @param assist
	 * @return
	 */
	List<TmBasStation> selectTmBasStation(Assist assist);

	/**
	 * 获得一个TmBasStation对象,以参数TmBasStation对象中不为空的属性作为条件进行查询
	 * 
	 * @param obj
	 * @return
	 */
	TmBasStation selectTmBasStationByObj(TmBasStation obj);

	/**
	 * 通过TmBasStation的id获得TmBasStation对象
	 * 
	 * @param id
	 * @return
	 */
	TmBasStation selectTmBasStationById(Integer id);

	/**
	 * 插入TmBasStation到数据库,包括null值
	 * 
	 * @param value
	 * @return
	 */
	int insertTmBasStation(TmBasStation value);

	/**
	 * 插入TmBasStation中属性值不为null的数据到数据库
	 * 
	 * @param value
	 * @return
	 */
	int insertNonEmptyTmBasStation(TmBasStation value);

	/**
	 * 批量插入TmBasStation到数据库
	 * 
	 * @param value
	 * @return
	 */
	int insertTmBasStationByBatch(List<TmBasStation> value);

	/**
	 * 通过TmBasStation的id删除TmBasStation
	 * 
	 * @param id
	 * @return
	 */
	int deleteTmBasStationById(Integer id);

	/**
	 * 通过辅助工具Assist的条件删除TmBasStation
	 * 
	 * @param assist
	 * @return
	 */
	int deleteTmBasStation(Assist assist);

	/**
	 * 通过TmBasStation的id更新TmBasStation中的数据,包括null值
	 * 
	 * @param enti
	 * @return
	 */
	int updateTmBasStationById(TmBasStation enti);

	/**
	 * 通过辅助工具Assist的条件更新TmBasStation中的数据,包括null值
	 * 
	 * @param value
	 * @param assist
	 * @return
	 */
	int updateTmBasStation(TmBasStation value, Assist assist);

	/**
	 * 通过TmBasStation的id更新TmBasStation中属性不为null的数据
	 * 
	 * @param enti
	 * @return
	 */
	int updateNonEmptyTmBasStationById(TmBasStation enti);

	/**
	 * 通过辅助工具Assist的条件更新TmBasStation中属性不为null的数据
	 * 
	 * @param value
	 * @param assist
	 * @return
	 */
	int updateNonEmptyTmBasStation(TmBasStation value, Assist assist);

	/**
	 * 获取所有工位，工位名称显示为车间+产线+工位名称
	 * 
	 * @return
	 */
	List<WorkOrderInfoDto> getAllStation();
}